Most users of mobile and fixed communication devices pay for access to a communications network through a subscription with a network operator. The arrangement of payments from users by the network operator is called operator billing and is implemented in the network by an operator billing system that tracks user consumption of network resources, tracks charges for such use, and tracks payments from users. In direct operator billing, a merchant different from the network operator uses the network operator's billing system to extract payment from a user for a product ordered or delivered through the user's communication device, rather than duplicating functions to obtain and track payments from users. Charging a user of a mobile communication device is challenging because the device does not have a fixed network address that can be associated with the user.
To charge the user of a mobile device for a product, the merchant's system authenticates a user to get a user identifier suitable for billing by the operator, such as a subscriber identifier for the user, rather than the current network address of the user's mobile device. A common authentication method supported by many operators is based on a HyperText Transfer Protocol (HTTP) message directed to the merchant's system, typically addressed on the communications network by a Universal Resource Locator (URL). In this common mechanism, an access point of the operator's network adds a subscriber identifier to the header portion of the HTTP message. HTTP URL authentication works well when the user's mobile communications device is connected to the network through Wireless Applications Protocol (WAP) access points. However, if the user's mobile communication device happens to have a default access point defined to be something else (e.g., a WiFi access point or Internet access point, among others) the HTTP message is not associated with a subscriber of the operator by the access point, so authentication fails—leading to failure of operator billing, and an unsatisfying user experience.